package com.wzdigit.wms.common.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class FastDFSFile implements Serializable {
	private static final long serialVersionUID = 1L;
	// 文件名字
	private String name;
	// 文件内容
	private byte[] content;
	// 文件扩展名
	private String ext;
	// 文件MD5摘要值
//    private String md5;
	// 文件创建作者
	private String author;

	/**
	 * @param name    文件名
	 * @param content 文件内容
	 * @param ext     文件扩展名
	 */
	public FastDFSFile(String name, byte[] content, String ext) {
		this(name, content, ext, null);
	}

	/**
	 * 设置初始值 文件名字，文件内容，文件扩展名
	 *
	 * @param file
	 * @return
	 * @throws IOException
	 */
//    public void setFastDFSFile(MultipartFile file) throws IOException {
//        if (file != null) {
//            this.name = file.getOriginalFilename();
//            this.content = file.getBytes();
//            this.ext = StringUtils.getFilenameExtension(file.getOriginalFilename());
//        }
////        return this;
//    }

	/**
	 * 设置初始值 文件名字，文件内容，文件扩展名
	 *
	 * @param file
	 * @throws IOException
	 */
	public FastDFSFile(MultipartFile file) throws IOException {
		this();
//        this(file.getOriginalFilename(), file.getBytes(), StringUtils.getFilenameExtension(file.getOriginalFilename()));
		if (file != null) {
			this.name = file.getOriginalFilename();
			this.content = file.getBytes();
			this.ext = StringUtils.getFilenameExtension(file.getOriginalFilename());
		}
	}
}